﻿using StoCombatLogHUD.Statistics.StatisticsEntries;

namespace StoCombatLogHUD.Statistics
{
	/// <summary>
	/// Statistics for players.
	/// </summary>
	public class PlayerStatistics
	{
		/// <summary>
		/// Gets or sets the total damage.
		/// </summary>
		/// <value>
		/// The total damage.
		/// </value>
		public AutoCalculatedStatisticsEntry TotalDamage { get; private set; }

		/// <summary>
		/// Gets or sets the peak damage.
		/// </summary>
		/// <value>
		/// The peak damage.
		/// </value>
		public StaticStatisticsEntry PeakDamage { get; private set; }

		/// <summary>
		/// Gets or sets the damage to hull.
		/// </summary>
		/// <value>
		/// The damage to hull.
		/// </value>
		public AutoCalculatedStatisticsEntry DamageToHull { get; private set; }

		/// <summary>
		/// Gets or sets the damage to shields.
		/// </summary>
		/// <value>
		/// The damage to shields.
		/// </value>
		public AutoCalculatedStatisticsEntry DamageToShields { get; private set; }

		/// <summary>
		/// Gets or sets the pet damage.
		/// </summary>
		/// <value>
		/// The total damage.
		/// </value>
		public AutoCalculatedStatisticsEntry PetDamage { get; private set; }

		/// <summary>
		/// Gets or sets the total healing.
		/// </summary>
		/// <value>
		/// The total healing.
		/// </value>
		public AutoCalculatedStatisticsEntry TotalHealing { get; private set; }

		/// <summary>
		/// Gets or sets the healing to hull.
		/// </summary>
		/// <value>
		/// The healing to hull.
		/// </value>
		public AutoCalculatedStatisticsEntry HullHealing { get; private set; }

		/// <summary>
		/// Gets or sets the healing to shields.
		/// </summary>
		/// <value>
		/// The healing to shields.
		/// </value>
		public AutoCalculatedStatisticsEntry ShieldHealing { get; private set; }

		/// <summary>
		/// Initializes a new instance of the <see cref="PlayerStatistics"/> class.
		/// </summary>
		public PlayerStatistics()
		{
			TotalDamage = new AutoCalculatedStatisticsEntry();
			DamageToHull = new AutoCalculatedStatisticsEntry();
			DamageToShields = new AutoCalculatedStatisticsEntry();
			PetDamage = new AutoCalculatedStatisticsEntry();

			TotalHealing = new AutoCalculatedStatisticsEntry();
			HullHealing = new AutoCalculatedStatisticsEntry();
			ShieldHealing = new AutoCalculatedStatisticsEntry();

			PeakDamage = new StaticStatisticsEntry();
		}
	}
}
